Prioritizing tests for software fault diagnosis
نویسندگان
چکیده
During regression testing, test prioritization techniques select test cases that maximize the confidence on the correctness of the system when the resources for quality assurance (QA) are limited. In the event of a test failing, the fault at the root of the failure has to be localized, adding an extra debugging cost that has to be taken into account as well. However, test suites that are prioritized for failure detection can reduce the amount of useful information for fault localization. This deteriorates the quality of the diagnosis provided, making the subsequent debugging phase more expensive, and defeating the purpose of the test cost minimization. In this paper we introduce a new test case prioritization approach that maximizes the improvement of the diagnostic information per test. Our approach minimizes the loss of diagnostic quality in the prioritized test suite. When considering QA cost as the combination of testing cost and debugging cost, on our benchmark set, the results of our test case prioritization approach show reductions of up to 60% of the overall combined cost of testing and debugging, compared with the next best technique. Copyright c © 2010 John Wiley & Sons, Ltd.
منابع مشابه
Optimal Software Release Using Time and Cost Benefits via Fuzzy Multi-Criteria and Fault Tolerance
As we know every software development process is pretty large and consists of different modules. This raises the idea of prioritizing different software modules so that important modules can be tested by preference. In the software testing process, it is not possible to test each and every module regressively, which is due to time and cost constraints. To deal with these constraints, this paper...
متن کاملPrioritizing Test Case Generation for Software Testing in High Level Programming Development Environment
Abstract—Software testing is very tedious process and during the software development, testing needs time, efforts and money. Testing and retesting is part of development process and lots of efforts are needed for doing this. Detecting faults and errors in the early stages of development is the main task of any testing team. The entire test suits are written for the same target and the test sui...
متن کاملImproving the Software Fault Localization Process through Testability Information
When failures occur during software testing, automated software fault localization helps to diagnose their root causes and identify the defective components of a program to support debugging. Diagnosis is carried out by selecting test cases in such way that their pass or fail information will narrow down the set of fault candidates, and, eventually, pinpoint the root cause. An essential ingredi...
متن کاملTest case prioritization using Cuscuta search
Most companies are under heavy time and resource constraints when it comes to testing a software system. Test prioritization technique(s) allows the most useful tests to be executed first, exposing faults earlier in the testing process. Thus makes software testing more efficient and cost effective by covering maximum faults in minimum time. But test case prioritization is not an easy and straig...
متن کاملTest Case Prioritization for Regression Testing based on Severity of Fault
Regression testing is one of the most critical activities of software development and maintenance. Whenever software is modified, a set of test cases are run and the comparison of new outputs is done with the older one to avoid unwanted changes. If the new output and old output match it implies that the modifications made in one part of the software don’t affect the remaining software. It is im...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw., Pract. Exper.
دوره 41 شماره
صفحات -
تاریخ انتشار 2011